1. Field of the Invention
The invention relates generally to image processing and computer graphics. More specifically, the invention relates to up-sampling or up-scaling of an image.
2. Description of the Related Art
In the art of imaging, it may be desirable to resize an image. Particularly, it may be desirable to scale up (up-sample) an image to make it larger if the image is too small for its intended use or application. For instance, a digital camera may capture an image in a small size of M pixel rows by N pixel columns. If the image is to be printed, it may be desirable to scale the image to R pixel rows by S pixel columns (R&gt;M and/or S&gt;N) such that the image covers the print area. In some digital cameras, a display panel such as an LCD (Liquid Crystal Display) is provided so that users can review in a quick fashion the pictures they have already taken or the contents of the picture they are about to take (i.e. what is in the focus area of the camera). The LCD panel, like any CRT (Cathode Ray Tube) monitoring device has a maximum resolution that it can support, but unlike a CRT, the resolution cannot be modified by the supporting video sub- system (i.e. graphics card). For instance, in a CRT device, a maximum resolution of 640 pixels by 480 pixels also implies that lower resolutions could be provided with very little loss in visual quality. However, in a LCD panel, since there are a fixed number of very discretely observable pixels, an attempted change in resolution usually results in a highly blurred image.
When an image needs to be scaled-up or up-sampled, where the image size is increased, the degradation due to blurring and blocking in a LCD panel is severe. For instance, consider an image that is 100 by 100 pixels in size. If an LCD panel on which the image is to be displayed is 200 by 200 in its screen size in terms of fixed pixels available, then only one-quarter of the available screen is being utilized. If it is desired that the entire screen be utilized for displaying the image, then the image needs to be scaled-up by a 2:1 ratio.
One simple and traditional way of up-sampling is to merely "duplicate" pixels as needed. In this case, since a 2:1 up-sampling is desired, each pixel could be repeated three additional times such that the information that occupied one pixel, now occupies four pixels in a two-by-two block. This "fill" approach has clear speed advantages over any other method of up-sampling since no computation or image processing is involved. However, this approach guarantees that the resulting scaled image is fuzzier, less sharp and "blocky" where individual pixel squares are more readily discernible to the eye. Importantly, the scaled result will have edge features, which are critical to human perception of any image, that are also more blocky and less sharp.
One traditional means of increasing the quality of the scaled-up image has been to use bi-linear interpolation. If a two to one up-sampling is desired then each pixel in the original image should be replaced by a block of four pixels. Consider, for example, the following original image: ##EQU1##
A bi-linear interpolation would average in two different directions to determine the scaled image data set. The scaled image under a bi-linear interpolation method may consist of: ##EQU2##
If the original image is a size M.times.N, then the scaled image would be of size M*N*4 in terms of total number of pixels in the respective data sets. This and other averaging methods may yield better results than filling, but still results in blurred details and rough edges that are not smoothly contoured on the image.
Typical up-sampling techniques are inadequate and lead to poor image quality. Thus, there is a need for a up-sampling technique that better preserves image quality. Further, since lower cost of computation, in terms of complexity, is crucial in devices such as digital cameras, the up-sampling technique should also be compute efficient, so that it can be utilized in such applications.